package redis

import (
	"time"
)

// 获取短信验证码
func GetSmsCode(mobile, source string) string {
	key := "sms:" + mobile + source
	return RedisDB.Get(key).Val()
}

// 销毁短信验证码
func DelSmsCode(mobile, source string) {
	key := "sms:" + mobile + source
	RedisDB.Del(key)
}

// 缓存短信验证码
func RedisSetSmsCode(mobile, code, source string) error {
	key := "sms:" + mobile + source
	return RedisDB.Set(key, code, time.Minute*5).Err() //设置过期时间5分钟

}

// 短信限流
func CodeSmsX(mobile string) bool {
	key := "smsX:" + mobile
	if RedisDB.Get(key).Val() == "" { //判断这个手机号有没有发送过短信
		RedisDB.Set(key, "0", time.Minute*1) //没有则写入 过期时间爱你一分钟
	}
	if RedisDB.Get(key).Val() < "2" { //判断这个手机号的值是否小于2次
		RedisDB.Incr(key)
		return true
	}

	return false
}
